package com.briup.day03;

/**
 * 操作符
 * @author lining
 * @date 2024/1/10 9:39
 * {} 表示代码的范围
 * 代码 方法体内
 */
public class Test2 {
    public static void method(){
        System.out.println(1 +      1);
        System.out.println(1 - 1);
        System.out.println(1 * 1);
        System.out.println(1 / 1);
        System.out.println(1 % 1);
        // 使用运算符 连接 变量
        int a = 1;
        int b = 2;
        System.out.println(a + b);
        int c = a + b;
        System.out.println(c);//3
        //字符串类型变量
        String s = "a";
        String s2 = "b";
        System.out.println(s + s2); //拼接操作
        // a =1 b =2
        // 基本数据类型和字符串类型混合使用
        System.out.println(a + b + s); //3a
        System.out.println(s + s2 + a);//ab1
        System.out.println(s + a + b);//a12
        //不同基本数据类型值计算
        byte a2 = 1;
        int b2 = 2;
        int c2 = a2 + b2;
        byte d2 = (byte)(a2 + 1);
        System.out.println(a2 + b2); //int+int
        // char+int
        char c3 = 'a';  // --> 97
        char c4 = (char) (c3 + 1); // 98 --> b
        System.out.println(c3 + 1); //98
        System.out.println(c4);//字符b
        //浮点数 +
        System.out.println(1.0 + 1);//2.0 类型提升double

        //
        int a3 = 5 / 2 ; //2.5
        System.out.println(5 / 2); // 2

        //除法有浮点数
        System.out.println(5.0 / 2);
        System.out.println(5 / 2.0);
        //取余
        System.out.println( 5 % 2);

        double num = 1.0 * 5;
        System.out.println(1.0 * 5);





    }
    public static void method2(){
        // ++    +1
        int a = 1;
        int b = 1;
        System.out.println("a: "+(a++)); // a++ =  a+1
        System.out.println(++b);
        System.out.println("a: "+a); //2
        int a2 = 1;
        int b2 = 1;
        System.out.println(a2--); //1
        System.out.println(--b2);//0

        System.out.println("a2："+a2);
        System.out.println("b2："+b2);


    }
    public static void method3(){
        int x = 4;
        //       x=4     x=3-1 +  2*10
        int y = (x--) + (--x) + (x * 10);
        System.out.println("x: " + x); // x: ? 2
        System.out.println("y: " + y); // y: ? 26
        byte a = 1;
        a++; //a = a + 1
//        a = a + 1; 编译错误

    }
    static public void method4(){
        // = 赋值变量  （指向一个内存位置）
        int a = 1;
        a += 5; // a = a + 5;
        short b = 1;
        b += 2; //+= 强制类型转换
    }
    public static  void method5(){
        //布尔表达式：返回值为布尔值
        System.out.println( 1 > 3);
        // == 比较内存中0101是否相同
        System.out.println( 1 == 3);
        float a = 1.0f;
        double b = 1.0d;
        System.out.println(a == b);
        float a2 = 1.1f;
        double b2 = 1.1d;
        System.out.println(a2 == b2);//false

        //  引用数据类型 变量 == 引用数据类型 变量
        System.out.println( 1 != 2); //true
        System.out.println( true != false );

    }

    public static void main(String[] args) {
        method5();
    }


}
